package com.xbongbong.saas.service;

import com.xbongbong.paas.pojo.dto.ApplicationListDTO;
import com.xbongbong.paas.pojo.vo.ApplicationListVO;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.paas.toolbox.wrap.BaseVO;
import com.xbongbong.pro.formexplain.pojo.vo.ExplainFilterConditionVO;
import com.xbongbong.pro.sharepermission.pojo.dto.BaseSharePermissionDTO;
import com.xbongbong.pro.sharepermission.pojo.dto.ShareFilterConditionDTO;
import com.xbongbong.pro.sharepermission.pojo.dto.SharePermissionListDTO;
import com.xbongbong.pro.sharepermission.pojo.dto.SharePermissionSaveDTO;
import com.xbongbong.pro.sharepermission.pojo.dto.SharePermissionSupportDTO;
import com.xbongbong.pro.sharepermission.pojo.vo.SharePermissionListVO;
import com.xbongbong.pro.sharepermission.pojo.vo.SharePermissionSupportVO;
import com.xbongbong.pro.sharepermission.pojo.vo.SharePermissionVO;

/**
 * @author 李翔
 * @date 2023/2/27
 * @description
 */
public interface ShareRuleService {

    SharePermissionListVO list(SharePermissionListDTO sharePermissionListDTO) throws Exception;

    SharePermissionVO get(BaseSharePermissionDTO baseSharePermissionDTO) throws Exception;

    BaseVO add(SharePermissionSaveDTO sharePerssionSaveDTO) throws Exception;

    BaseVO save(SharePermissionSaveDTO sharePermissionSaveDTO) throws Exception;

    BaseVO delete(BaseSharePermissionDTO baseSharePermissionDTO) throws Exception;

    BaseVO recalculate(BaseDTO baseDTO) throws Exception;

    ExplainFilterConditionVO conditionList(ShareFilterConditionDTO shareFilterConditionDTO) throws Exception;

    ApplicationListVO appList(ApplicationListDTO applicationListDTO);

    SharePermissionSupportVO isSupport(SharePermissionSupportDTO supportDTO);
}
